home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / doc / python-gobject / examples / signal.py < prev   
Encoding:
Python Source  |  2009-02-17  |  853 b   |  29 lines

  1. import pygtk; pygtk.require("2.0")
  2. import gobject
  3.  
  4. class C(gobject.GObject):
  5.     __gsignals__ = {
  6.         'my_signal': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
  7.                       (gobject.TYPE_INT,))
  8.     }
  9.     def __init__(self):
  10.         self.__gobject_init__() # default constructor using our new GType
  11.     def do_my_signal(self, arg):
  12.         print "C: class closure for `my_signal' called with argument", arg
  13.  
  14. class D(C):
  15.     def do_my_signal(self, arg):
  16.         print "D: class closure for `my_signal' called.  Chaining up to C"
  17.         C.do_my_signal(self, arg)
  18.  
  19. def my_signal_handler(object, arg, *extra):
  20.     print "handler for `my_signal' called with argument", arg, \
  21.           "and extra args", extra
  22.  
  23. inst = C()
  24. inst2 = D()
  25.  
  26. inst.connect("my_signal", my_signal_handler, 1, 2, 3)
  27. inst.emit("my_signal", 42)
  28. inst2.emit("my_signal", 42)
  29.